<?php
function p($arg) {
    echo '<pre>';
    print_r($arg);
    echo '</pre>';
}

function pp($arg) {
    echo '<pre>';
    print_r($arg);
    echo '</pre>';
    exit;
}

function dd($arg) {
    echo '<pre>';
    var_dump($arg);
    echo '</pre>';
    exit;
}

/**
 * 全局变量
 *
 * @param $name 变量名
 * @param string $value 变量值
 *
 * @return mixed 返回值
 * v('a','abc');  v('a')
 */
if (!function_exists('v')) {
    function v($name = null, $value = '[null]') {
        static $vars = [];
        if (is_null($name)) {
            return $vars;
        } else if ($value == '[null]') {
            //取变量
            $tmp = $vars;
            foreach (explode('.', $name) as $d) {
                if (isset($tmp[$d])) {
                    $tmp = $tmp[$d];
                } else {
                    return null;
                }
            }

            return $tmp;
        } else {
            //设置
            $tmp = &$vars;
            foreach (explode('.', $name) as $d) {
                if (!isset($tmp[$d])) {
                    $tmp[$d] = [];
                }
                $tmp = &$tmp[$d];
            }
            return $tmp = $value;
        }
    }
}

/**
 * 生成模块的后台访问地址
 * @param $url
 * @param array $arg
 * @return string
 */
function site_url($url, $arg = []){
    $info = explode('.',$url);
    return __APP__.'/Module/Entry/handler/?mo='.$info[0].'&tt=site&ac='.$info[1].'&'.http_build_query($arg);
}

/**
 * 生成模块的前台访问地址
 * @param $url
 * @param array $arg
 * @return string
 */
function web_url($url, $arg = []){
    $info = explode('.',$url);
    return __APP__.'/Module/Entry/handler/?mo='.$info[0].'&tt=web&ac='.$info[1].'&'.http_build_query($arg);
}